package com.ck.chuangke.service;

import com.ck.model.chuangke.vo.CkProgramExportVO;
import com.ck.model.chuangke.vo.CkProgramListVO;
import com.github.pagehelper.Page;

import java.util.List;

/**
 * 节目
 *
 * @author linqiang
 * @date 2018-06-20 18:21
 */
public interface CkProgramService {

    /**
     * 创客节目列表分页查询
     *
     * @param programStatus 节目状态
     * @param companyCode   商家编号
     * @param programName   节目名称
     * @param startTime     赛选开始时间
     * @param endTime       赛选结束时间
     * @param pageNum       当前页
     * @param pageSize      每页条数
     * @return page
     */
    Page<CkProgramListVO> listByPage(Integer programStatus, String companyCode, String programName,
                                     Long startTime, Long endTime, Integer pageNum, Integer pageSize);

    /**
     * 获取节目总数
     * @return
     */
    Long getProgramCount();

    /**
     * 根据节目状态查询节目总数
     * @param status 0：已审批，1：待审批，2：待发布，3：已过期
     * @return
     */
    Long getProgramCountByStatus(Integer status);

    /**
     * 根据大区查询节目总数
     * @param region 大区：东北NE，华北NC，华中CC，华东EC，华南SC，西北WN，西南WS
     * @return
     */
    Long getProgramCountByRegion(String region);

    /**
     * 导出节目列表
     *
     * @param programStatus 节目状态
     * @param companyCode   商家编号
     * @param programName   节目名称
     * @param startTime     更新开始时间
     * @param endTime       更新结束时间
     * @return
     */
    List<CkProgramExportVO> listExportProgramCk(Integer programStatus, String companyCode, String programName, Long startTime, Long endTime);
}
